package ningbo.array;

import java.util.Arrays;

/**
 * @Author 宁铂
 * @Date 2021/7/7 10:31
 * @Version 1.0
 */
public class TestArraysCopyOf {
    /** 本类用来测试工具类的copy of（）方法 */
    public static void main(String[] args) {
        /** 创建一个原数组
         *  copyOf() 用于数组的复制，有两参数：
         *  1。要复制的数组名
         *  2.新数组的长度
         * */
        int[] from = new int[]{1,2,3,4,5};

        /** 复制数组 */
        int[] to = Arrays.copyOf(from, 5);

        /** 数组的缩容 -- 缩小容量，类似于截取 */
        int[] to2 = Arrays.copyOf(from, 3);

        /** 数组的扩展 -- 扩展容量，不足的位置由对应类型的默认值，来填充 */
        int[] to3 = Arrays.copyOf(from, 8);

        /** 可以指定首位复制数组(截取一部分复制数组)
         *  三个参数：
         *  1.复制那个数组
         *  2.从哪开始 -- 数组下标
         *  3.到哪结束 -- 数组下标，含头不含尾
         * */
        int[] to4 = Arrays.copyOfRange(from, 2, 4);

        /** 打印复制好的新数组 */
        System.out.println(Arrays.toString(to));
        System.out.println(Arrays.toString(to2));
        System.out.println(Arrays.toString(to3));
        System.out.println(Arrays.toString(to4));
    }
}
